package com.life.xxx.util;

public class Result {

	private String code;
	private String msg;
	private Object data;

	public Result() {}

	public Result(String code, String msg, Object data) {
		this.code = code;
		this.msg = msg;
		this.data = data;
	}

	public static Result success() {
		return new Result(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMsg(), null);
	}

	public static Result success(Object data) {
		return new Result(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMsg(), data);
	}

	public static Result success(String msg, Object data) {
		return new Result(ResultCode.SUCCESS.getCode(), msg, data);
	}

	public static Result error() {
		return new Result(ResultCode.ERROR.getCode(), ResultCode.ERROR.getMsg(), null);
	}

	public static Result error(String msg) {
		return new Result(ResultCode.ERROR.getCode(), msg, null);
	}

	/**
	 * 使用枚举返回特定状态
	 */
	public static Result fail(ResultCode resultCode) {
		return new Result(resultCode.getCode(), resultCode.getMsg(), null);
	}

	/**
	 * 自定义错误码和消息
	 */
	public static Result error(String code, String msg) {
		return new Result(code, msg, null);
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

}
